package org.apache.dubbo.demo.provider;

import org.apache.dubbo.common.bytecode.Wrapper;

public class GreetingServiceImplDubboWrap0 extends Wrapper {
    public static String[] pns;
    public static java.util.Map pts;
    public static String[] mns;
    public static String[] dmns;
    public static Class[] mts0;

    public String[] getPropertyNames() { return pns; }

    public boolean hasProperty(String n) { return pts.containsKey(n); }

    public Class getPropertyType(String n) { return (Class) pts.get(n); }

    public String[] getMethodNames() { return mns; }

    public String[] getDeclaredMethodNames() { return dmns; }

    public void setPropertyValue(Object o, String n, Object v) {
        org.apache.dubbo.demo.provider.GreetingServiceImpl w;
        try {
            w = ((org.apache.dubbo.demo.provider.GreetingServiceImpl) o);
        } catch (Throwable e) {
            throw new IllegalArgumentException(e);
        }
        throw new org.apache.dubbo.common.bytecode.NoSuchPropertyException("Not found property \"" + n
            + "\" field or setter method in class org.apache.dubbo.demo.provider.GreetingServiceImpl.");
    }

    public Object getPropertyValue(Object o, String n) {
        org.apache.dubbo.demo.provider.GreetingServiceImpl w;
        try {
            w = ((org.apache.dubbo.demo.provider.GreetingServiceImpl) o);
        } catch (Throwable e) {
            throw new IllegalArgumentException(e);
        }
        throw new org.apache.dubbo.common.bytecode.NoSuchPropertyException("Not found property \"" + n
            + "\" field or getter method in class org.apache.dubbo.demo.provider.GreetingServiceImpl.");
    }

    public Object invokeMethod(
        Object o, String n, Class[] p, Object[] v) throws java.lang.reflect.InvocationTargetException {
        org.apache.dubbo.demo.provider.GreetingServiceImpl w;
        try {
            w = ((org.apache.dubbo.demo.provider.GreetingServiceImpl) o);
        } catch (Throwable e) {
            throw new IllegalArgumentException(e);
        }
        try {
            if ("hello".equals(n) && p.length == 0) {
                return  w.hello();//调用原对象的方法
            }
        } catch (Throwable e) {
            throw new java.lang.reflect.InvocationTargetException(e);
        }
        throw new org.apache.dubbo.common.bytecode.NoSuchMethodException(
            "Not found method \"" + n + "\" in class org.apache.dubbo.demo.provider.GreetingServiceImpl.");
    }


}
